1. Field of the Invention
The present invention relates to an information processing apparatus for executing data transfer between an I/O device and memory by direct memory access (DMA) and a data transfer control method used with the apparatus.
2. Description of the Related Art
Generally, a computer system having a multiprocess function capable of concurrently executing a plurality of processes uses a mechanism for protecting each process from any other process. To implement this mechanism, a processor usually has two execution modes of a privileged mode and a user mode. The kernel of an operating system, etc., operates in the privileged mode and each user process operates in the user mode. The user mode is also called general mode in some cases. In the privileged mode, all instructions including special instructions for controlling a memory management unit (MMU), etc., in the processor can be executed and accessible memory space is not limited. To realize memory protection, the privileged process like the kernel uses the MMU to manage the memory space that can be accessed by each user process.
Recently, a system architecture using direct memory access (DMA) has been used to release a CPU from data transfer processing between an I/O (Input/Output) device and memory (Refer to the document “Computer Architecture A Quantitative Approach Second Edition” as cited below) In a system described in the document, an I/O controller having a DMA capability is provided. The I/O controller can execute data transfer between an I/O device and memory by DMA while a processor executes any other task.
David A. Patterson and John L. Hennessy, “Computer Architecture A Quantitative Approach Second Edition,” Morgan Kaufmann Publishers Inc., Jun. 1, 1996, p. 501-504, FIG. 6.15